Image processing apparatus, image processing method and program

ABSTRACT

There is provided an image processing apparatus which can generate a vector image with a high image quality at a high speed in a small memory capacity. The present invention generates an image with low resolution by performing resolution conversion to a compressed image with high resolution and obtains information of a character object with low resolution by performing object division to the image with the low resolution. The compressed image with the high resolution is decompressed and an image showing a character contour with high resolution is generated by using the information of the character object with the low resolution obtained by the object dividing and the decompressed image with the high resolution. At the time of performing the decompression, the compressed image with the high resolution may be partially decompressed based upon the information of the character object.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processing apparatus whichperforms character vectorization process to a character objectrecognized by an object recognition process in a case of generatingvectorization data from an input image.

2. Description of the Related Art

For example, Japanese Patent Laid-Open No. 2002-142128 discloses animage processing apparatus configured to have the following constructionas an image processing apparatus capable of generating a color documentimage with high quality.

An input image is converted into an image with low resolution. Theconverted image with the low resolution is used to generate asubtractive color image, and neighboring pixels allotted to the samerepresentative color from the subtractive color image are integrated toextract a FCR (Flat Color Region) candidate region. An image havinghigher resolution than the subtractive color image is used to once moredetermine the region candidate. Next, a boundary of the FCR is detectedto determine a final FCR, and a representative color of the determinedFCR is selected to perform a coloring process for replacing a colorclose to a pure color for the pure color. Finally the FCR is drawn over(combined to) the input image to perform reproduction of the image.

Computerization of documents has been conventionally made, but a memorycapacity necessary for computerizing the document so as to have highquality, as well as in a state of being reusable becomes large and sincea great amount of calculations is required for computerizing thedocument, it takes time to perform the computerization process. Inparticular, in the limited process resource, the computerization of thedocument has to be realized in a small memory capacity. For therealization, it is required to restrict a data amount to be processed asmany as possible, but reduction of the data amount to be processedprevents a good image quality from being obtained. In a case ofcomputerizing the document in the limited process resource, the memorycapacity necessary for the computerizing is designed to be restricted bycompressing data to be processed. However, there is a problem that onlythe compression of the data can reduce the necessary memory capacity,but can not obtain a good image quality.

SUMMARY OF THE INVENTION

An image processing apparatus in the present invention comprises aresolution converting unit configured to generate an image with lowresolution by performing resolution conversion to a compressed imagewith high resolution, an object dividing unit configured to obtaininformation of a character object with low resolution by performingobject division to the image with the low resolution, a decompressingunit configured to decompress the compressed image with the highresolution, and a character contour generating unit configured togenerate an image showing a character contour with high resolution byusing the information of the character object with the low resolutionobtained by the object dividing unit and the image with the highresolution decompressed by the decompressing unit.

According to the present invention, it is possible to generate a vectorimage with a high image quality at a high speed in a small memorycapacity.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments (with reference to theattached drawings).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a construction of an image processingsystem according to embodiments in the present invention;

FIG. 2 is a block diagram showing a construction of MFP;

FIG. 3 is a flow chart showing the process flow according to a firstembodiment;

FIG. 4 is a schematic diagram illustrating the processes according tothe first embodiment;

FIG. 5 is a schematic diagram illustrating the character contourgenerating process according to the first embodiment;

FIG. 6 is a flow chart showing the process flow according to a secondembodiment;

FIG. 7 is a flow chart showing the flow of the partial decompressingprocess according to the second embodiment;

FIG. 8A to 8C are diagram explaining the flow of the partialdecompressing process according to the second embodiment;

FIG. 9 is a flow chart showing the flow of a one-character decompressingprocess according to a third embodiment;

FIG. 10 is a diagram explaining the flow of the one-characterdecompressing process according to the third embodiment;

FIG. 11 is a flow chart showing the flow of a decompressing processaccording to a fourth embodiment;

FIG. 12 is a flow chart showing the flow of a decompressing processaccording to a fifth embodiment;

FIG. 13 is a flow chart showing image reading-in from a scanner;

FIG. 14 is diagrams showing object division region information;

FIG. 15 is diagrams showing attribute block information and input fileinformation;

FIG. 16 is a diagram showing a document which is an object of a documentstructure tree generating process;

FIG. 17 is a diagram showing a document structure tree generated by thedocument structure tree generating process;

FIG. 18 is diagrams each showing an example of a format of datavectorized by a function approximate process; and

FIG. 19 is a diagram showing an effect obtained by an application of thepresent embodiment.

DESCRIPTION OF THE EMBODIMENTS

Hereinafter, embodiments of the present invention will be explained withreference to the drawings.

First Embodiment Image Processing System

FIG. 1 is a block diagram showing a construction of an image processingsystem according to embodiments in the present invention.

The image processing system is configured of an office 10 and an office20 each provided with various devices. The office 10 is provided with aLAN 107 built therein and the office 20 is provided with a LAN 108 builttherein, and are further connected with each other through the Internet104.

The office 10 is provided with a multifunction peripheral (hereinafter,referred to as (MFP)) 100, a management PC 101 for controlling the MFP100, a local PC 102, a proxy server 103, a data base 105, and a documentmanagement server 106. These devices are connected by the LAN 107.

The office 20 is provided with a local PC 102, a proxy server 103, adata base 105, and a document management server 106. These devices areconnected by the LAN 108.

The LAN 107 and the LAN 108 are connected respectively to the proxyservers 103 and are connected through the respective proxy servers 103to the Internet 104.

The MFP 100 performs a part of image processing to an input image readfrom a document and transmits the image-processed image data through theLAN 109 to the management PC 101. In addition, the MFP 100 interprets aPDL (Page Description Language) language received through the LAN 107from the local PC 102 or a general PC (not shown) and prints out theinterpreted language. Further the MFP 100 transmits the image data readfrom the document through LAN 107 to the local PC 102 or the general PC.

The management PC 101 is a computer including am image storage unit, amimage processing unit, a displaying unit, an input unit (not shown) andthe like. The management PC 101 performs the image process incooperation with the MFP 100. It should be noted that in the presentembodiment, the management PC 101 performs a registration process to bedescribed hereinafter and the like to the data base 105, but the MFP 100itself may be configured to perform the registration process.

[MFP]

FIG. 2 is a block diagram showing a construction of the MFP 100.

The MFP 100 is provided with an image reading unit 110, a storage unit(box) 111, a printing unit 112, an input unit 113, network I/F units 114and 117, and a data processing unit 115.

The image reading unit 110 is configured of a scanner having an autodocument feeder. The image reading unit 110 emits light on images in abundle of documents or in one document and makes image formation of thereflected light on a solid image pickup device. The solid image pickupdevice generates an image signal with a predetermined resolution (forexample, 600 dpi) and a predetermined luminance level (for example, 8bits). This image signal is formed of image data made of raster data.

The data processing unit 115, at the time of regular copying, performsthe image process for copying to the image data received from the imagereading unit 110 and converts the processed image data into print data,which are outputted to the printing unit 112. In a case of copyingplural documents, the data processing unit 115 stores the print datacorresponding to one page in the storage unit 111 once and thereafter,sequentially outputs the print data to the printing unit 112. Theprinting unit 112 prints an image or the like on a print paper basedupon the print data. The data processing unit 115 interprets andprocesses a PDL language received through the network I/F 114 from thelocal PC 102 or the other general PC (not shown) to generate print data,which are outputted to the printing unit 112.

The storage unit 111 has a function for storing data performingrendering to the image data received from the image reading unit 110 orthe PDL data received from the local PC 102. The storage unit 111 iscontrolled directly by the management PC 101 through the network I/F 117and the LAN 109.

The input unit 113 is provided with operational interfaces, such as atouch panel and a key board, and receives an operational input from auser. The MFP 100 is also operable by operating a key board, a pointingdevice or the like which is provided in the management PC 101.

A displaying unit 116 displays a status, image data and the like in theMFP 100.

FIG. 3 is a flow chart showing the flow of the vectorization processaccording to the first embodiment.

At step S301, the MFP 100 inputs an image using the image reading unit110.

At step S302, the MFP 100 performs an image process to the input imagein accordance therewith. The image process is, for example, a knownprocess such as color conversion or a filtering process.

At step S303, the MFP 100 performs a compressing process to theimage-processed image data to generate compressed image data. An exampleof a compressing method includes JPEG.

At step S304, the MFP 100 spools the compressed image data in thestorage unit 111. The storage unit 111 is, for example, a memory or ahard disc.

At step S305, the MFP 100 performs a decompressing process to thespooled compressed image data. For example, in a case where at stepS303, the image is compressed by JPEG, the decompressing process to thecompressed image is performed by JPEG. That is, at step S305, adecompressing method corresponding to the compressing method used atstep S303 is used.

At step S306, the MFP 100 performs a resolution converting process forreducing resolution of the decompressed image data. For example, theimage data with the resolution of 600 dpi are converted into the imagedata with the resolution of 300 dpi.

At step S307, the MFP 100 performs an object dividing process (regiondividing process) to the image data after the resolution conversion ismade. An example of the object kind includes a character object, a photoobject, a graphic (drawing, line drawing or table) object, and abackground object.

At step S312, the MFP 100 decompress the image data compressed at stepS303.

At step S308, the MFP 100 performs a character contour generatingprocess to the character object. Here, the MFP 100 refers to a portionin the image data with the high resolution corresponding to thecharacter object to generate a contour of the character. Specifically,the contour of the character is generated based upon the characterobject divided at step S307 and the image data decompressed at stepS312. That is, the MFP 100 generates the contour of the character usingthe character object divided from the image data with the low resolutionand the image data with the high resolution after the decompressing. Adetail of this character contour generating process will be describedlater.

At step S309, the MFP 100 performs a function approximate process to thecharacter contour generated at step S308, which is converted into pathdata (vector data).

At step S310, the MFP 100 formats the path data to a general format. Anexample of the general format includes PDF, XPS, SVG or XML. It shouldbe noted that the MFP 100 may store the formatted data in the storageunit 111 or transmit it through the network to an external device suchas PC.

Next, the aforementioned process will be explained more specificallywith reference to FIG. 4.

FIG. 4 is a diagram showing the aforementioned vectorization process.

The MFP 100 scans a document (411), performs an image process to thescanned image (412), and performs an image compression to theimage-processed image data (413). In the present embodiment, thecompressing method is JPEG.

The MFP 100 spools the compressed image data in the storage unit 111(414), reads out the spooled compressed data for decompression (415),and generates image data with resolution of 600 dpi and the gradationnumber of 24 bits.

The MFP 100 performs resolution conversion for converting the generatedimage data with the resolution of 600 dpi and the gradation number of 24bits (402) into an image with low resolution (401) to generate imagedata with resolution of 300 dpi and the gradation number of 24 bits. Itshould be noted that the above resolution or the above gradation numberis used simply as an example, and the present invention is not limitedthereto.

The MFP 100 performs an object division to the image data (403) with theresolution of 300 dpi and the gradation number of 24 bits (404) to findobject division region information and character information (405 and406). The object division region information serves to show in whichregion in the image and what kind of an object (object kind such as acharacter object) exists. That is, the object division regioninformation (405) is the information showing position information of arectangular region and an attribute of an object (object kind) containedin the rectangular region, and can be determined using a knowntechnology. The character information (406) is the information showing acharacter object in the region where the character object exists. Thatis, the character information (406) is the information showing a regionof the character attribute by binary image data (that is, image of 300dpi and one bit), and can be obtained, for example, by binarizing theregion of the character attribute. At this point, for example, in a casewhere an image as an object to be processed is an image of a blackcharacter with a white background, the character information is a binaryimage with low resolution in the character region where a pixel of thecharacter is expressed as one and a pixel of the background which is notthe character is expressed as zero.

The MFP 100 uses the object division region information, the characterinformation, and the image data with the resolution of 600 dpi and thegradation number of 24 bits which is the image with the high resolutionbefore the resolution conversion is made (after the decompression isperformed) to perform a character contour generating process to bedescribed later (407). By performing the character contour generatingprocess (407), the character contour image data with resolution of 600dpi and the gradation number of one bit can be obtained (408).

The MFP 100 performs a function approximate process to the charactercontour image data 408 to perform a passing process (409) and formatsthe path data (that is, vector data) (410).

Next, a detail of the character contour generating process (407) will beexplained.

FIG. 5 is a diagram showing the character contour generating process(407).

Numeral 501 shows an image with low resolution including object divisionregion information and character information. The resolution is set as300 dpi. Numeral 502 shows a luminance image having resolution of 600dpi and the gradation number of 8 bits generated from the image with thehigh resolution having resolution of 600 dpi and the gradation number of24 bits. The generation of the luminance image is realized by a knownmethod. For example, the process for converting a color image (RGBimage) of 24 bits into a luminance image of 8 bits is to be performedusing a given conversion expression.

Numeral 504 shows one region in the image 501 with resolution of 300dpi. Herein, a position of a region of the character attribute isspecified based upon region information 405, and the region is an image504 with resolution of 300 dpi and the gradation number of one bit whichis formed by taking out a portion of a region corresponding to thespecified position of the region of the character from characterinformation 406. The image 504 is a binary image, and pixels painted inblack are, as shown in numeral 503, pixels for forming a character inthe image 504. One square in the image shown in numeral 504 expressesone pixel in an image with low resolution.

Numeral 505 shows a region in the image with high resolution havingresolution of 600 dpi and the gradation number of 8 bits correspondingto the region of the image 504. One square in the image in numeral 505expresses one pixel in the image with the high resolution. It should benoted that the image 505 is a luminance image (multi-value image) and inmost cases, a pixel in gray exists in the boundary between a pixelforming a character and a pixel forming the background.

Numeral 506 shows a character image having resolution of 600 dpi and thegradation number of one bit generated using the image 504 with the lowresolution and the image 505 with the high resolution. That is, theimage 506 is a binary image with the high resolution.

A method of generating the character image 506 is as follows.

The scan is carried out on the low-resolution image 504 havingresolution of 300 dpi in raster sequence. At the time of scanning thelow-resolution image 504, it is confirmed for each target pixel to bescanned whether or not a pixel constituting a character object exists inthe 8 pixels surrounding the target pixel to be scanned. In a case whereno pixel constituting a character object exists in the adjacent 8pixels, the one pixel is divided into pixels of 2×2 (four pixels) to beconverted into the image with resolution of 600 dpi, setting a pixelvalue of the each pixel as white (0). In contrast, in a case where apixel (black pixel) constituting the character object exists in the 8pixels surrounding the target pixel to be scanned, first, a thresholdvalue calculating process in a portion of the pixel is performed usingdata of resolution of 600 dpi and the gradation number of 8 bits(multi-value image with high resolution). The data of the resolution of600 dpi and the gradation number of 8 bits are binarized into 0 and 1using the calculated threshold value. For example, an average value ofpixel values of pixels constituting the character object existing in the8 pixels surrounding the scan-target pixel and an average value of pixelvalues of pixels not constituting the character object existing in the 8pixels are found from the image of the resolution of 600 dpi and thegradation number of 8 bits. Next, the respective average values areadded, which is divided by two to find a threshold value. The pixelvalue is compared with the threshold value in the image of theresolution of 600 dpi and the gradation number of 8 bits. The pixel inwhich the pixel value exceeds the threshold value is set as black (1)and the pixel in which the pixel value is below the threshold value isset as white (0). Therefore, the character image of the resolution of600 dpi and the gradation number of one bit (that is, a binary imagewith high resolution) can be generated. In this way, in regard to theadjacent pixel of the pixel where the character with the resolution of300 dpi exists in the image 504, a threshold value is adaptivelydetermined using the image of the resolution of 600 dpi and thegradation number of 8 bits to perform the binarization process. That is,since only a portion where a possibility that the character image existsis high is set as an object of the binarization process, a binary imageshowing a character contour with high resolution can be efficientlygenerated. For example, when a white pixel and a black pixel in aportion surrounded by a rectangle 507 in the image 504, since the pixelsof the luminance image 505 with the high resolution corresponding to thewhite pixel and the black pixel contains a gray pixel, are binarizedusing the threshold value calculated in each pixel, the image 504 isformed as the image 506. It should be noted that there exists a casewhere as in the case of an outline character on a colored background,pixels in the surroundings of the character have colors and thecharacter is shown in white. In this case, it is determined whether ornot the character is the outline character on the colored backgroundfrom the color in the surroundings and the color of the character, and,based upon this determination, generation of the character image of theresolution of 600 dpi and the gradation number of one bit is made. It ispossible to use a known method in regard to the determination method ofthe outline character on the colored background. For example, at thetime of generating the image of the resolution of 600 dpi and thegradation number of one bit, a total number of the black pixels iscompared with a total number of the white pixels, and it is determinedthat more pixels are determined as the background pixels. In this case,when the black pixel is determined as the background pixel, reverse ofwhite and black in the region may be made to form the white pixel as thebackground.

At the time of specifying the character region in this way, the imagewith the reduced resolution is used to perform the region division, andin regard to the character region, pixels where a character exists arespecified in the image with the low resolution and in regard to thespecified pixels, the image with the high resolution is used to generatea character contour. Therefore, the pixels of the character arespecified in a small memory and at a high speed, making it possible toextract the character contour with high accuracy. For example, in a caseof performing the vectorization process by extracting the charactercontour using only the image having resolution of 300 dpi, the generatedvector data are formed to be an image as shown in FIG. 19 (1) byrendering. On the other hand, in a case of performing the vectorizationprocess by extracting the character contour using the luminance imagehaving resolution of 600 dpi while specifying the character pixel in theimage having resolution of 300 dpi, a smooth image with high accuracycan be obtained as shown in FIG. 19 (2) by rendering the generatedvector data.

[Production of Bit Map Image Data]

In a case of using the image reading unit 110 in the MFP 100, at stepS1301 shown in FIG. 13, an image is read in. The read image is alreadybit map image data. At step S1302, the image processing depending on ascanner is performed to the bit map image data. The image processdepending on the scanner is, for example, a color process or a filteringprocess. On the other hand, application data produced using applicationsoftware in the PC 102 are converted into PDL by a print driver in thePC 102, which are transmitted to the MFP 100. Herein, PDL is, forexample, LIPS or Postscript. The MFP 100 which has received the PDLgenerates a display list based upon the PDL using a built-ininterpreter. Next, MFP 100 performs rendering to the display list togenerate the bit map image data.

The MFP 100 performs the processes (processes subsequent to 413 in FIG.4) subsequent to step S303 (FIG. 3) using the bit map image datagenerated by either one of the above two methods as a process object.

[Detail Setting of Registration]

FIG. 18 is diagrams each showing an example of the format of the datavectorized in the function approximate process at step S309 shown inFIG. 3. In the present embodiment, an SVG (Scalable Vector Graphic)format is used, but the format is not limited thereto.

In FIG. 18, for its explanation, the notation of the object issurrounded by a frame. In a frame 1801, an image attribute is shown, andobject division region information (information showing a position andan object attribute) and bit map information (for example, JPEG data) inregard to a region of the image object (photo object) are shown. In aframe 1802, information of a text object (information of an OCR resultof a character object) is shown. In a frame 1803, a configuration of thecharacter object corresponding to the text object in the frame 1802 isshown as a vector object. In a frame 1804, a graphic object (line artsuch as a table object or a line drawing object) is shown as a vectorobject. Also in regard to the graphic object such as the line drawingobject, the process similar to the vector data converting process of thecharacter object as explained in FIGS. 3 to 5 is performed, therebymaking it possible to convert the graphic object into the vector object.

[Object Dividing Step]

FIG. 14 is diagrams each showing the object division region information(405 in FIG. 4) obtained by the object dividing process (step S307 inFIGS. 3 and 404I FIG. 4).

At step S307, the MFP 100, as shown in an image 1402, divides an inputmage 1401 into rectangular blocks for each attribute. As describedabove, examples of the attribute of the rectangular block include acharacter, a photo, and a graphic (drawing, line drawing, a table andthe like).

In the object division at step S307, first, the image data (403) storedin the RAM are binarized into white data and black data to extract ablack-pixel bundle (connected black pixels) surrounded by a contour madeof black pixels. Further, a size of the extracted black-pixel bundle iscalculated. In a case where the size of the black-pixel bundle is morethan a predetermined value, a white-pixel bundle inside the black-pixelbundle is extracted to find the contour. Further, a size of theextracted white-pixel bundle is calculated. In a case where the size ofthe white-pixel bundle is more than a predetermined value, a black-pixelbundle inside the white-pixel bundle is extracted to find the contour.In this way, as long as the size of the internal pixel bundle is morethan the predetermined value, the pixel bundle is repeatedly extractedto find the contour. The size of the pixel bundle is an area of thepixel bundle, for example. A rectangular block circumscribed to thepixel bundle obtained in this way is found to determine an attribute ofthe rectangular block based upon the size and the shape of therectangular block. For example, a rectangular block of which ahorizontal to vertical ratio is close to one and of which a size iswithin a constant range (range of a size as large as determined as acharacter) is determined as a character-corresponding block which hasthe high possibility to be a character object region rectangular block.In addition, when neighboring character-corresponding blocks arearranged regularly, a new rectangular block is generated by puttingthese character-corresponding blocks together to determine the newrectangular block as a character object region rectangular block. Thatis, since the neighboring character-corresponding blocks are puttogether, the character object region rectangular block is a region of aunit of a character line or a character paragraph. Further, a flatblack-pixel bundle such as a longitudinal bundle or a horizontal bundleis determined as a line drawing region rectangular block such as aseparator. In a case where the black-pixel bundle is larger than aconstant value and square-shaped white-pixel bundles are arrangeregularly inside the black-pixel bundle, the block is determined as atable region rectangular block. The line region rectangular block andthe table region rectangular block are dealt as graphic regionrectangular blocks. In addition, a black-pixel bundle in anindeterminate form other than the above blocks is determined as a photoregion rectangular block. It should be noted that in the presentembodiment, the attribute is categorized as a character, a photo, and agraphic, but the kind of the attribute is not limited to those and maybe in more detail categorized.

At step S307, in regard to each of the rectangular blocks determined inthis way, as shown in FIG. 15, block information of the attribute or thelike and input file information are generated. In FIG. 15, the blockinformation includes an attribute, a coordinate X, a coordinate Y, awidth W, a height H and OCR information of each block. Numerals of 1 to3 are allotted to the attribute. Numeral 1 shows a character objectregion rectangular block, numeral 2 shows a photo region rectangularblock, and numeral 3 shows a graphic region rectangular block. Thecoordinate X and the coordinate Y show X and Y coordinates (coordinatesof an upper left angle) at a starting point of each rectangular block inthe image. The width W and the height H show a width of the rectangularblock in the X coordinate direction and a height of the rectangularblock in the Y coordinate direction. The OCR information showspresence/absence of pointer information in the input image. In addition,the input information includes a block sum N showing the numbers of therectangular blocks (in a case of image 1402, N=six).

The block information for each rectangular block is used forvectorization in a specific region. It should be noted that in thepresent embodiment, since the character region is used as an object ofthe vectorization process, the specific region is the character region.That is, the character object region is extracted, which is used in thecharacter contour generating process 407 at the later stage. Further, arelative position relationship at the time of combining the specificregion with the other region can be specified by the block information,and therefore, it is possible to combine the vectorization region withthe raster data region without damaging a layout of the input image.

FIG. 16 is a diagram showing a document as an object of a documentstructure tree generating process.

In FIG. 16, rectangular blocks T1 and T2 are lined up laterally at theuppermost position of the document. A lateral separator S1 exists underthe rectangular blocks T1 and T2 and rectangular blocks T3, T4, T5, T6,and T7 exist under the lateral separator S1. The rectangular blocks T3,T4, and T5 are longitudinally lined up from upward to downward at a lefthalf in a region under the lateral separator S1 and the rectangularblocks T6 and T7 are lined up upward and downward at a right half in aregion under the lateral separator S1.

FIG. 17 is a diagram illustrating the above processed result in adocument structure tree.

In FIG. 17, an input image V0 has groups H1 and H2 and the separator S1at the uppermost layer, and the rectangular blocks T1 and T2 in thesecond layer belong to the group H1. Groups V1 and V2 at the secondlayer belong to the group H2, the rectangular blocks T3, T4, and T5 atthe third layer belong to the group V1, and the rectangular blocks T6and T7 at the third layer belong to the group V2.

Second Embodiment

A second embodiment is different from the first embodiment in a point ofthe decompressing process in an input image as the pre-process to thecharacter contour generating process, and is common with the firstembodiment in a point of the apparatus construction and the otherprocesses. Therefore, the decompressing process which is different fromthe first embodiment will be mainly explained.

FIG. 6 is a flow chart showing the process flow according to the secondembodiment. Since the processes of steps S 601 to S610 in FIG. 6respectively are the processes similar to the processes of steps S301 toS310 in FIG. 3, a detail of the process at step S612 will be explainedin the following.

At step S612, The MFP 100 performs a partial decompressing process forpartially decompressing each of the several character object regions inthe page using the object division region information obtained by theobject dividing process at step S607. The processes at steps S608 andS609 are sequentially performed each time of obtaining the partialdecompressed image. It is possible to perform the decompressing processand the vectorization process in a small memory capacity by performingthe decompression in an object unit.

FIG. 7 is a flow chart showing the process flow in the charactervectorization process using the object division region informationaccording to the second embodiment. The processes performed in FIG. 7are the processes corresponding to steps S612, S608, and S609.

At step S702, the MFP 100 obtains the object division region informationand obtains one character object region from the obtained objectdivision region information.

A step S703, the MFP 100 partially decompress an input imagecorresponding to the one character object region. In a case where theobject division region information is the information with resolution of300 dpi, coordinates are calculated in a case where the resolution of300 dpi in the information is converted into the resolution of 600 dpi.In addition, since the minimum unit of the compression is, for example,8 pixels×8 pixels in a case of JPEG, the MFP 100 is adapted fordecompressing a region of the compressed image corresponding to theobtained character object region. The method of the partialdecompression differs depending on a compressing method to be used.However, it is possible to realize the partial decompression by using aknown compression technology and a known partial decompressing method.In this way, it is possible to obtain the high-resolution image withresolution of 600 dpi corresponding to the one character object region.

At step S704, the MFP 100 performs the character contour generatingprocess. The character contour generating process is the same as theprocess explained in the first embodiment.

At step S705, the MFP 100 performs a function approximate process to thecharacter contour generated at step S704 to generate path-processedvector data.

At step S706, the MFP 100 determines whether or not the above process isalready performed in all the character object regions. When the aboveprocess is completed in all the character object regions, thevectorization process is completed.

FIG. 8 is diagrams explaining a case where the object division regioninformation with resolution of 300 dpi is converted into coordinates ofpositions corresponding to an image with resolution of 600 dpi toperform a partial decompressing process (step S812).

FIG. 8A is a diagram showing a compressed image 801 with resolution of600 dpi. FIG. 8B is a diagram showing the object division regioninformation as an image 802. The TEXTs 808 to 812 in the image 802 eachexpress a character object region. In a case of partially decompressingthe character object region (TEXT) 808 in the image 802, coordinates ofthe compressed image 801 corresponding to the coordinates of thecharacter object region 808 are found to specify a region of thecompressed image containing the coordinates, decompressing thecompressed image in the region. Numerals 813 to 817 in FIG. 8C show theresult of the partial decompressing process to each region of numerals803 to 807 in positions in the compressed image 801 corresponding to thenumerals 813 to 817 by using the object division region information 802shown in numerals 808 to 812 in FIG. 8B. For example, numeral 813 (ABCD)in FIG. 8C shows the result of the partial decompressing process to theregion 803 of the compressed image (600 dpi) corresponding to thecharacter object region 808 in FIG. 8B.

As explained above, by performing the decompressing process only to theregion of the partially required compressed image by using the objectdivision region information, it is possible to perform the vectorizationprocess while restricting a memory capacity at the time of performingthe character contour generation.

Third Embodiment

A third embodiment is different from the second embodiment in a point ofthe decompressing process of an input image as the pre-process to thecharacter contour generating process, and is common with the secondembodiment in a point of the apparatus construction and the otherprocesses. In the second embodiment, the partial decompression isperformed for each character region (each character line or eachparagraph), but in the third embodiment, the partial decompression isperformed for each one character in the character region. Therefore, thedecompressing process which is different from the second embodiment willbe explained.

The second embodiment performs the partial decompression to the onecharacter object region. In a case of the second embodiment, when theone character object region (paragraph or character line) is large, amemory capacity necessary for the process becomes possibly insufficient,but the third embodiment can cope with such a case.

FIG. 9 is a flow chart showing the process flow of the charactervectorization process using object division region information accordingto the third embodiment.

At step S902, the MFP 100 obtains object division region information andone-character information for cutting out one character from onecharacter object region. Information for cutting out the one characterfrom the one character object region, that is, coordinates of the onecharacter can be obtained from the object division region information.

At step S903, the MFP 100 partially decompress an input imagecorresponding to the coordinates. For example, in a case where theobject division region information is the information with resolution of300 dpi, coordinates in a case where the resolution of 300 dpi isconverted into resolution of 600 dpi are calculated. In addition, sincethe minimum unit of the compression is, for example, 8 pixels×8 pixelsin a case of JPEG, the MFP 100 is adapted for decompressing a region ofthe compressed image in which the calculated character object region iscontained. The method of the partial decompression differs depending ona compressing method to be used. However, it is possible to realize thepartial decompression by using a known compression technology and aknown partial decompressing method. In this way, it is possible toobtain the image with resolution of 600 dpi corresponding to onecharacter. The character element pixel and the image with 600 dpi can beobtained from the object division.

At step S904, the MFP 100 performs the character contour generatingprocess. The character contour generating process is the same as theprocess explained in the first embodiment.

At step S905, the MFP 100 performs a function approximate process to thecharacter contour generated at step S904 to generate a path-processedvector data.

At step S906, the MFP 100 determines whether or not the above process isalready performed in all the character objects.

FIG. 10 is diagrams explaining utility of partially performing thedecompressing process for each character (one-character decompression).

Numeral 1001 shows an image JPEG-compressed in a compressing unit of 8pixels×8 pixels. Numeral 1002 shows a compressing unit of JPEGcompression. In the image 1001, a frame surrounding each character showscharacter-cutting information 1003. The character-cutting information1003 shows a character determined as one character in the objectdividing process. Since the decompression is performed in a compressingunit of JPEG, in a case of desiring to decompress a character of “A”, apart of “B” of a character in the right side adjacent to “A” is alsodecompressed as shown in numeral 1004. In addition, in a case ofdesiring to decompress a character of “B”, likewise a part of “A” of acharacter in the left side adjacent to “B” is also decompressed as shownin numeral 1005. Therefore, when the image partially decompressed byJPEG is vectorized as it is (character contour generating process andfunction approximate process), a part of the neighboring character isalso to be processed. Accordingly, in the present embodiment, in theimage partially decompressed, the vectorization process is performedonly to the region of the one character specified by thecharacter-cutting information 1003. It should be noted that theprocesses of steps S904 and S905, as shown in FIG. 5, set the region ofthe one character as an object and perform the character contourgeneration using the image data with high resolution and the elementconstituting the character obtained from the object division.

Fourth Embodiment

A fourth embodiment is different from the third embodiment in a point ofthe decompressing process of an input image as the pre-process to thecharacter contour generating process, and is common with the thirdembodiment in a point of the apparatus construction and the otherprocesses. Therefore, the decompressing process which is different fromthe third embodiment will be explained.

The third embodiment performs the partial decompressing process to theone character. In the third embodiment, as the number of the charactersincreases, the process time possibly increases, but the fourthembodiment can cope with such a case.

FIG. 11 is a flow chart showing the process flow of the charactervectorization process using object division region information accordingto the fourth embodiment.

At step S1102, the MFP 100 obtains object division region informationand information for cutting out one character from one character objectregion (region of a character line or a paragraph). Further, the MFP 100calculates the size of the character object region from the objectdivision region information to calculate a memory capacity necessary forthe region process (memory capacity calculation).

At step S1103, the MFP 100 compares a usable memory capacity in advanceset with the memory capacity necessary for the region process calculatedat step S1102. As a comparison result, in a case where the memorycapacity necessary for the region process is smaller than the givenusable memory capacity, it is determined that the region process ispossible, and the process goes to step S1104. In a case if not, theprocess goes to step S1107.

In a case where it is determined that the memory capacity necessary forthe region process is smaller than the given usable memory capacity, theMFP 100 performs the decompressing process to one character objectregion (region of a character line or a paragraph).

At step S1105, the MFP 100 performs a character contour generatingprocess (first character contour generating process).

On the other hand, in a case where it is determined that the memorycapacity necessary for the region process is larger than the givenusable memory capacity, at step S1107 the MFP 100 performs thedecompressing process to the characters in the character object regionone by one (one-character decompression). The one-characterdecompression is as described above.

At step S1108, the MFP 100 performs a character contour generatingprocess (second character contour generating process).

At step S1106, the MFP 100 performs a function approximate process tothe character contour generated at step S1105 or the character contourgenerated at step S1108 to generate path-processed vector data.

At step S1109, the MFP 100 determines whether or not the above processis already performed in all the character objects.

Fifth Embodiment

A fifth embodiment is different from the fourth embodiment in a point ofthe decompressing process of an input image as the pre-process to thecharacter contour generating process, and is common with the fourthembodiment in a point of the apparatus construction and the otherprocesses. Therefore, the decompressing process which is different fromthe fourth embodiment will be explained.

The fourth embodiment performs the partial decompressing process to onecharacter. In the fourth embodiment, a method of performing thedecompressing process to the character object region as it is and amethod of performing the decompressing process to the characters in thecharacter object region one character by one character are switcheddepending on a size of the one character object region (that is, arequired memory capacity). However, even in the fourth embodiment, whenthe character object region is large, since the decompressing process isperformed for each one character, as the number of the charactersincreases, the process time possibly increases. The fifth embodiment cancope with such a case.

FIG. 12 is a flow chart showing the process flow of the charactervectorization process using object division region information accordingto the fifth embodiment.

At step S1202, the MFP 100 obtains object division region informationand information for cutting out one character from one character objectregion. Further, the MFP 100 calculates a size of the character objectregion from the object division region information to calculate a memorycapacity necessary for the region process (memory capacity calculation).

At step S1203, the MFP 100 compares a usable memory capacity in advanceset with the memory capacity necessary for the region process calculatedat step S1202. As a comparison result, in a case where the memorycapacity necessary for the region process is smaller than the givenusable memory capacity, it is determined that the region process ispossible, and the process goes to step S1204. In a case if not, theprocess goes to step S1207.

In a case where it is determined that the memory capacity necessary forthe region process is smaller than the usable memory capacity, at stepS1204 the MFP 100 performs the decompressing process to the onecharacter object region.

At step S1205, the MFP 100 performs a character contour generatingprocess (first character contour generating process).

At step S1206, the MFP 100 performs a function approximate process tothe character contour generated at step S1205 to generate path-processedvector data.

On the other hand, in a case where it is determined that the memorycapacity necessary for the region process is larger than the usablememory capacity, at step S1207 the MFP 100 divides the one characterobject region into region process-possible regions. In regard to thedivision of the region, a size of the region process-possible region iscalculated from a given usable memory capacity, and the division of theregion is made based upon the calculated size of the region. At thispoint, the division is designed to be made to contain plural characters.

At step S1208, the MFP 100 partially decompress the region divided atstep S1207.

At step S1209, the MFP 100 performs a character contour generatingprocess (second character contour generating process).

At step S1210, the MFP 100 performs a function approximate process tothe character contour generated at step S1209 to generate path-processedvector data.

At step S1211, the MFP 100 determines whether or not the above processis already performed in all the divided regions.

At step S1212, the MFP 100 determines whether or not the above processis performed to the character object region.

FIG. 19 shows an example of an improvement on an image quality.

Other Embodiment

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment(s), and by a method, the steps ofwhich are performed by a computer of a system or apparatus by, forexample, reading out and executing a program recorded on a memory deviceto perform the functions of the above-described embodiment(s). For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (e.g., computer-readable medium).

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2008-239804 filed Sep. 18, 2008 which is hereby incorporated byreference herein in its entirety.

1. An image processing apparatus comprising: a resolution convertingunit configured to generate an image with low resolution by performingresolution conversion to a compressed image with high resolution; anobject dividing unit configured to obtain information of a characterobject with low resolution by performing object division to the imagewith the low resolution; a decompressing unit configured to decompressthe compressed image with the high resolution; and a character contourgenerating unit configured to generate an image showing a charactercontour with high resolution by using the information of the characterobject with the low resolution obtained by the object dividing unit andthe image with the high resolution decompressed by the decompressingunit.
 2. An image processing apparatus according to claim 1, wherein:the information of the character object with the low resolution obtainedby the object dividing unit is a binary image with low resolution wherepixels of a character and pixels of a background contained in acharacter region determined as containing a character image are shown ina binary value; and the character contour generating unit specifiespixels in which the pixels of the character may exist using the binaryimage with the low resolution and generates the image showing thecharacter contour with the high resolution using the each specifiedpixel and the decompressed image with the high resolution.
 3. An imageprocessing apparatus according to claim 2, wherein: the charactercontour generating unit determines a threshold value in the adjacence ofthe each specified pixel using the each specified pixel and thedecompressed image with the high resolution to generate the imageshowing the character contour with the high resolution by binarizing aportion of the decompressed image with the high resolution correspondingto the each specified pixel by using the determined threshold value. 4.An image processing apparatus according to claim 1, further comprising:a function approximate unit configured to function-approximate thecharacter contour based upon the image showing the character contourwith the high resolution generated by the character contour generatingunit; and a formatting unit configured to format thefunction-approximated result.
 5. An image processing apparatus accordingto claim 1, further comprising: a compressing unit configured tocompress an inputted image with high resolution to generate thecompressed image with the high resolution; and a spooling unitconfigured to spool the compressed image with the high resolution,wherein: the decompressing unit decompress the compressed image with thehigh resolution spooled by the spooling unit.
 6. An image processingapparatus according to claim 1, wherein: the character contourgenerating unit converts the image with the high resolution decompressedby the decompressing unit into a luminance image with high resolution ina case where the image with the high resolution is a color image, andgenerates the image showing the character contour with the highresolution by using the information of the character object with the lowresolution obtained by the object dividing unit and the luminance imagewith the high resolution.
 7. An image processing apparatus according toclaim 1, wherein: the decompressing unit partially decompress thecompressed image with the high resolution based upon the information ofthe character object.
 8. An image processing apparatus according toclaim 7, wherein: the decompressing unit decompress a portion in thecompressed image with the high resolution corresponding to the characterobject region containing plural characters.
 9. An image processingapparatus according to claim 7, wherein: the decompressing unitdecompress a portion in the compressed image with the high resolutioncorresponding to one character.
 10. An image processing apparatusaccording to claim 7, wherein: the decompressing unit determines whetheror not a memory capacity necessary for processing the character objectregion is smaller than a memory capacity set preliminarily, based uponthe information of the character object; the decompressing unitdecompress a portion in the compressed image with the high resolutioncorresponding to the character object region in a case where it isdetermined that the memory capacity necessary for processing thecharacter object region is smaller than the memory capacity setpreliminarily; and the decompressing unit decompress a portion in thecompressed image with the high resolution corresponding to one characterin a case where it is determined that the memory capacity necessary forprocessing the character object region is not smaller than the memorycapacity set preliminarily.
 11. An image processing apparatus accordingto claim 7, wherein: the decompressing unit determines whether or not amemory capacity necessary for processing the character object region issmaller than a memory capacity set preliminarily, based upon theinformation of the character object; the decompressing unit decompress aportion in the compressed image with the high resolution correspondingto the character object region in a case where it is determined that thememory capacity necessary for processing the character object region issmaller than the memory capacity set preliminarily; and thedecompressing unit divides the character object region into regions eachhaving a process-possible size and decompress a portion in thecompressed image with the high resolution corresponding to the dividedregion in a case where it is determined that the memory capacitynecessary for processing the character object region is not smaller thanthe memory capacity set preliminarily.
 12. An image processing method,the method comprising the steps of: generating an image with lowresolution by performing resolution conversion to a compressed imagewith high resolution by a resolution converting unit; obtaininginformation of a character object with low resolution by performingobject division to the image with the low resolution by an objectdividing unit; decompressing the compressed image with the highresolution by a decompressing unit; and generating an image showing acharacter contour with high resolution by using the information of thecharacter object with the low resolution obtained by the object dividingstep and the image with the high resolution decompressed by thedecompressing step by a character contour generating unit.
 13. A programon a computer readable medium for making a computer perform: aresolution converting step of generating an image with low resolution byperforming resolution conversion to a compressed image with highresolution; an object dividing step of obtaining information of acharacter object with low resolution by performing object division tothe image with the low resolution; a decompressing step of decompressingthe compressed image with the high resolution; and a character contourgenerating step of generating an image showing a character contour withhigh resolution by using the information of the character object withthe low resolution obtained by the object dividing step and the imagewith the high resolution decompressed by the decompressing step.